package com.vicente.managerdemo.service;

import com.vicente.managerdemo.common.ResultBean;
import com.vicente.managerdemo.dto.RoleQueryDto;
import com.vicente.managerdemo.dto.RoleVO;
import com.vicente.managerdemo.entity.Menu;
import com.vicente.managerdemo.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 系统角色表 服务类
 * </p>
 *
 * @author vicente
 * @since 2024-12-04
 */
public interface RoleService  {

    ResultBean queryPage(RoleQueryDto queryDto);

    ResultBean insertRole(Role role);

    ResultBean updateRole(Role role);

    ResultBean deleteById(int id);

    ResultBean getAllRoles();

    List<Long> listUserIdsByRoleId(Long roleId);

    void saveUserRole(Long roleId, List<Long> receiverIds);

    List<Menu> listMenusByRoleId(Long roleId);

    boolean checkRoleNameUnique(RoleVO sysRoleVO);

    boolean checkRoleKeyUnique(RoleVO sysRoleVO);

    void saveRoleAndRoleMenu(RoleVO sysRoleVO);
}
